package com.lu.manage.modular.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lu.manage.modular.system.model.Dept;

import java.util.List;
import java.util.Map;

public interface DeptService extends IService<Dept> {

    /**
     * 新增部门
     * @param dept
     * @return
     * @throws Exception
     */
    Dept add(Dept dept) throws Exception;

    /**
     * 修改部门
     * @param dept
     * @throws Exception
     */
    void update(Dept dept) throws Exception;

    /**
     * 删除部门
     * @param deptId
     */
    void delete(String deptId) throws Exception;

    /**
     * 部门列表分页
     * @param map
     * @return
     */
    Object listPage(Map<String, Object> map);

    /**
     * 部门树
     * @return
     */
    Object deptTreeList();

    /**
     * 部门排序
     * @param nodes
     * @throws Exception
     */
    void sortAllDepts(String nodes) throws Exception;

    /**
     * 部门layuiTree
     * @return
     */
    Object deptLayuiTree();

    /**
     * 根据pid获取树
     * 部门layuiTree
     * @return
     */
    Object deptLayuiTreeByPid(String pid);

    /**
     * 根据id 找他的 孩子
     * @param id
     * @return
     */
    List<Dept> getDeptsLikePids(String id);
}
